To take advantage of a distributed computing environment, many current applications are being distributed between client and server computers. The client computers include browser-based applications that communicate over networks with server applications running on the server computers. The browser-user interfaces have become popular given their added features to improve usability of the server applications. The server-client environment is increasingly used for interactive communication forums such as “chat rooms” between Internet users or between retailers, distributors and other entities and their customers or enthusiasts. These chat room applications are popular because they allow a server-end user (“moderator”) to communicate quickly and cheaply with many client-end users (“users”) at the same time, or the users to communicate with each other. Many chat rooms have become virtual communities where Internet users can enjoy open discussions on a variety of different topics such as music, hobbies, and events.
One conventional chat room method allows users and moderators to communicate via a “post-and-wait” method. Users type a question or comment in a chat room application and wait for a response. Subsequently, other users or the moderator can respond to these messages. Typically, these electronic messages are date and time stamped with a subject header and posted on an electronic bulletin board for all to view. The electronic bulletin boards are categorized by subjects and further group the original messages with their responses. If more then one response is received, they are chronologically posted under the original message.
A second conventional chat room application provides real-time interaction between many users or between the users and the moderator. The real-time interaction is obtained using a “scrolling text” method. Typical scrolling text chat rooms use two dialog fields—a message field and a view field. The user types a question, comment or response in the message field and then posts the message to the view field by pressing “enter” or clicking a “submit” button. The posted message appears in the view field with the user's name, below the last entered message. As new messages are posted, the text in the view field scrolls upward to accommodate the new messages.
Unfortunately, present applications are limited in a number of ways. The post-and-wait method requires the user to search for an electronic bulletin board appropriate to his/her particular question and then to remember to subsequently return to the same electronic bulletin board for an answer. A user may have to view several bulletin boards before finding the sought after information, if it exists at all. Some electronic bulletin boards may provide a search engine tool to help find the correct information, but require the user to consciously use the tool. Furthermore, the post-and-wait method, from the user's perspective, does not allow for a one-on-one real-time interaction by the user with a moderator or another user. Often it can take hours or days before a user receives a response to a message posted to the chat room.
The scrolling text method, while providing real-time interaction, is unable to adequately handle many users and large volumes of information. When several users are participating in the same ‘chat session’ the questions and answers become hard to follow. The text scrolls quickly up the screen as new messages are constantly being posted to the view field. This text, fast moving at times, can be difficult to read and easy to miss. Furthermore, these sessions cannot save questions and answers posted once a user has exited the chat session. Consequently, user questions can only be answered by other users currently logged on to the same chat session or by a moderator who is actively reading and replying to questions. With the ability of distributed computing networks to connect many users to a server at once, the moderator is often inundated with more questions then manageable. In this case, the real-time interaction is defeated by long queues of unanswered questions.